\documentclass{ctexart}

\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{url}
\usepackage{caption}
\usepackage{float}
\usepackage{subfig}

\title{BST 排序算法的实现}

\author{作者姓名:阮伟灿 \\ 作者专业和学号：统计学3210104141}


\begin{document}

    \maketitle

    \section{算法实现}
    （具体代码详细可以见BinartSearchTree.h的350-368行）\\
    vector的操作方式接近一个堆栈，所以我采用了堆栈的方式来解决。
    357将arr里的数建立一个树，358再清空arr
    后面具体思路就是找到最小数，将其加入arr，再将其从原数列中删去


    \section{一些细节}
    我把乱序的操作放在了主函数里，check和random结合起来就是乱序的函数，
    最后main里的东西变的好少。

    \section{数据泄漏}
    虽然不知道发生了什么，但是我用valgrind检查了一遍，没有发生数据泄漏。

    \section{时间复杂度}
    我的程序写的一坨答辩，二叉数几乎没有用到，所以时间复杂度特别拉跨。
    时间复杂度最大为$n^2$，最小为$nlog(n)$。时间复杂度取决于建立的数的搜索的
    时间复杂度。若输入为5,4,3,2,1,则时间复杂度最大，若输入的数刚好为平衡数，则
    为最小。
    


    \section{结论}


\end{document}
